package com.cskaoyan.mapper;

import com.cskaoyan.bean.User;
import com.cskaoyan.bean.bo.UserUpdateBo;
import com.cskaoyan.bean.param.BaseParam;
import com.cskaoyan.bean.po.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserMapper {
    List<User> select(@Param("sort") String sort, @Param("order") String order, @Param("username") String username,
                      @Param("mobile") String mobile);

    BoardPo selectCountForBoard();

    UserDetailPo selectUserDetailById(@Param("id") Integer id);

    List<AddressPo> selectAddress(@Param("sort") String sort, @Param("order") String order, @Param("userId") Integer userId, @Param("name") String name);

    List<CollectPo> selectCollect(@Param("sort") String sort, @Param("order") String order, @Param("userId") Integer userId, @Param("valueId") Integer valueId);

    List<FootprintPo> selectFootprint(@Param("sort") String sort, @Param("order") String order, @Param("userId") Integer userId, @Param("goodsId") Integer goodsId);

    List<HistoryPo> selectHistory(@Param("sort") String sort, @Param("order") String order, @Param("userId") Integer userId, @Param("keyword") String keyword);

    List<FeedbackPo> selectFeedback(@Param("sort") String sort, @Param("order") String order, @Param("id") Integer id, @Param("username") String username);

    Integer selectProvinceCount();

    List<RegionPo> selectRegion();

    void updateUserInfo(@Param("userUpdateBo") UserUpdateBo userUpdateBo);
}
